package com.zdkj.subway.st.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@ApiModel(value = "车票临时计划")
@EqualsAndHashCode(callSuper = true)
@TableName("sw_tk_public_plan_temp")
public class SwStPlanTemp extends Model<SwStPlanTemp> {
	private static final long serialVersionUID = 1L;

	@TableId(type = IdType.AUTO)
	@ApiModelProperty(value = "唯一标识")
	@ExcelIgnore
	private Long id;

	@ApiModelProperty(value = "线路编码")
	@ExcelIgnore
	private String lineCode;

	@ApiModelProperty(value = "车站编码")
	@ExcelIgnore
	private String stationCode;

	@ApiModelProperty(value = "申请原因")
	@ExcelIgnore
	private String applyReason;

	@ApiModelProperty(value = "计划类型")
	@ExcelProperty(value = "计划类型",index = 3)
	private String planType;

	@ApiModelProperty(value = "票种")
	@ExcelProperty(value = "票种",index = 1)
	private String ticketType;

	@ApiModelProperty(value = "车票名称")
	@ExcelProperty(value = "车票名称",index = 2)
	private String ticketName;

	@ApiModelProperty(value="票价")
	@ExcelIgnore
	private BigDecimal ticketPrice;

	@ApiModelProperty(value = "车票次数")
	@ExcelIgnore
	private Integer ticketTimes;

	@ApiModelProperty(value = "车票张数")
	@ExcelIgnore
	private Integer ticketNumber;

	@ApiModelProperty(value = "现计划车票张数")
	@ExcelIgnore
	private Integer ticketNumberNow;

	@ApiModelProperty(value = "车票有效期")
	@ExcelIgnore
	private String activeTime;

	@ApiModelProperty(value = "车票最晚启动日期")
	@ExcelIgnore
	private LocalDateTime latestStartTime;

	@ApiModelProperty(value = "起号/止号")
	@ExcelIgnore
	private String startEndNo;

	@ApiModelProperty(value = "车票用途")
	@ExcelIgnore
	private String ticketPurpose;

	@ApiModelProperty(value = "计划开始时间")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelIgnore
	private String planStartTime;

	@ApiModelProperty(value = "计划完成时间")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelIgnore
	private String planEndTime;

	@ApiModelProperty(value = "现计划开始时间")
	@ExcelProperty(value = "现计划开始时间",index = 4)
	private LocalDateTime planStartTimeNow;

	@ApiModelProperty(value = "现计划完成时间")
	@ExcelProperty(value = "现计划完成时间",index = 5)
	private LocalDateTime planEndTimeNow;

	@ApiModelProperty(value = "审核状态")
	@ExcelProperty(value = "审核状态",index = 6)
	private String checkStatus;

	@ApiModelProperty(value = "是否下发")
	@ExcelProperty(value = "是否下发",index = 7)
	private String isSend;

	@ApiModelProperty(value = "是否已分解")
	@ExcelProperty(value = "是否已分解",index = 8)
	private String isDecompose;

	@ApiModelProperty(value = "备注")
	@ExcelProperty(value = "备注",index = 9)
	private String remark;

	@ApiModelProperty(value = "创建人ID")
	@ExcelIgnore
	private Long creatorId;

	@ApiModelProperty(value = "配送员Code")
	@ExcelIgnore
	private String distributorCode;

	@ApiModelProperty(value = "配送员")
	@ExcelIgnore
	private String distributor;

	@ApiModelProperty(value = "配送员Code2")
	@ExcelIgnore
	private String distributorCodeTwo;

	@ApiModelProperty(value = "配送员2")
	@ExcelIgnore
	private String distributorTwo;

	@ApiModelProperty(value = "车票编码员Code")
	@ExcelIgnore
	private String ticketCoderCode;

	@ApiModelProperty(value = "车票编码员")
	@ExcelIgnore
	private String ticketCoder;

	@ApiModelProperty(value = "审核人")
	@ExcelIgnore
	private String checkPersonId;
	
	@ApiModelProperty(value = "审核人名称")
	@ExcelIgnore
	private String checkPersonName;

	@ApiModelProperty(value = "审核建议")
	@ExcelIgnore
	private String checkReason;

	@ApiModelProperty(value = "审核时间")
	@ExcelIgnore
	private LocalDateTime checkTime;

	@ApiModelProperty(value = "创建人名称")
	@ExcelIgnore
	private String creatorName;

	@ApiModelProperty(value = "创建时间")
	@ExcelIgnore
	private LocalDateTime createTime;

	@ApiModelProperty(value="单号")
	@ExcelIgnore
	private String numbers;

	/**
	 * 普通附件
	 */
	@ApiModelProperty(value = "普通附件")
	private String filePath;

	/**
	 * 图片附件
	 */
	@ApiModelProperty(value = "图片附件")
	private String picturePath;

	/**
	 * 删除标志
	 */
	@TableLogic
	@ApiModelProperty(value="删除标志 1：删除 0：未删")
	private String delFlag;

}
